import java.util.Arrays;
import java.util.Random;

public class Main {
    public static void main(String[] args) {
//        System.out.println(new Random().nextInt(39) + 1);
//        int[] nums = {9, 7, -1, -4, 0, 1};
////        bubbleSort(nums);
////        selectSort(nums);
////        insertSort(nums);
//        quickSort(nums, 0, nums.length - 1);
//        System.out.println(Arrays.toString(nums));

        String str = """
               哈哈哈哈哈
               "123"
                """;
        System.out.println(str);
    }

    public static void bubbleSort(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
    }

    public static void selectSort(int[] arr) {
        // 每次找到最小的下标 放到第一个
        for (int i = 0; i < arr.length; i++) {
            int minIndex = i;
            int min = arr[i];
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[j] < arr[minIndex]) {
                    minIndex = j;
                }
            } // 找到最小值所在的下标
            arr[i] = arr[minIndex];
            arr[minIndex] = min;
        }
    }

    public static void insertSort(int[] arr) {
        // 每次和前面的所有去比较，知道比前面的都大酒停止，然后放进去
        for (int i = 0; i < arr.length - 1; i++) {
            int prevIndex = i;
            int temp = arr[i + 1];
            for (; prevIndex >= 0 && temp < arr[prevIndex]; prevIndex--) {
                arr[prevIndex + 1] = arr[prevIndex];
            }
            arr[prevIndex + 1] = temp;
        }
    }

    public static void quickSort(int[] arr, int left, int right) {
        if (left >= right) {
            return;
        }
        int i = left;
        int j = right;
        int cur = arr[left];
        // 从右边往左找小于基准值的停止
        // 从左边往右边找大于基准值的停止
        // 两个交换位置
        while (i != j) {
            while (j > i && cur <= arr[j]) { // 从右边找小于基准值的
                j--;
            }
            while (j > i && cur >= arr[i]) { // 从左边找大于基准值的
                i++;
            }
            if (j > i) {
                int temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
        if (cur > arr[i]) {
            arr[left] = arr[i];
            arr[i] = cur;
        }
        quickSort(arr, left, i - 1);
        quickSort(arr, i + 1, right);
    }
}